# -*- coding: utf-8 -*-
'''
projecto- classe destinada à contagem de tags HTML de um
        endereço http introduzido pelo professor
autor- Ana Isabel Marques 6052
data de criação do módulo- 01/12/2011
observações-
'''

from BeautifulSoup import BeautifulSoup
import urllib2


class TagsHTML:

    def __init__(self):
        pass

######################################################
#Contador do tag HTML: H1
#Este método conta todos o tag html: H1 presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de H1 
######################################################
    def contador_h1(self, html):

        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorH1 = len(soup.findAll("h1"))
        return contadorH1
    
######################################################
#Contador do tag HTML: H2
#Este método conta todos o tag html: H2 presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de H2
######################################################
    def contador_h2(self, html):
        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorH2 = len(soup.findAll("h2"))
        return contadorH2

######################################################
#Contador do tag HTML: H3
#Este método conta todos o tag html: H3 presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de H3 
######################################################
    def contador_h3(self, html):

        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorH3 = len(soup.findAll("h3"))
        return contadorH3
    
######################################################
#Contador do tag HTML: DIV
#Este método conta todos o tag html: DIV presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de DIV 
######################################################
    def contador_div(self, html):
        
        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorDIV = len(soup.findAll("div"))
        return contadorDIV

######################################################
#Contador do tag HTML: P
#Este método conta todos o tag html: P presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de P 
######################################################
    def contador_p(self, html):
        
        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))
        contadorP = len(soup.findAll("p"))
        return contadorP

######################################################
#Contador do tag HTML: OL
#Este método conta todos o tag html: OL presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de OL 
######################################################
    def contador_ol(self, html):
        
        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorOL = len(soup.findAll("ol"))
        return contadorOL

######################################################
#Contador do tag HTML: UL    
#Este método conta todos o tag html: UL presentes no endereço http escolhido
#Esse endereço http é passado como parâmetro no método.
#Retorna o número de UL 
######################################################
    def contador_ul(self, html):
        
        url = urllib2.urlopen(html)
        soup = BeautifulSoup(''.join(url))    
        contadorUL = len(soup.findAll("Ul"))
        return contadorUL 


            
